/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package clasificador.genetico.reglas;

import clasificador.Clasificador;
import datos.Dato;
import datos.DefinicionAtributosErroneaException;

/**
 *
 * @author e237573
 */
public class ConjuntoReglas<Clase> implements Clasificador<Clase> {
    private TGenotipo genotipo;
    private InterpretacionGenotipo<Clase> interpretacionGenotipo;
    
    public ConjuntoReglas(InterpretacionGenotipo<Clase> i, TGenotipo g) {
        this.genotipo = g;
        this.interpretacionGenotipo = i;
    }

    @Override
    public Clase clasificar(Dato d) throws DefinicionAtributosErroneaException {
        int[] atributos = interpretacionGenotipo.normalizarAtributos(d);
        return interpretacionGenotipo.clasificar(genotipo, atributos);      
    }
}
